--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
docs/manual/using.html 36b62f829cfe3a0171dfd1ad0f5ac3e8b6315113 (36b62f82) Text, 59.76 KB
Tff7b72<!doctype html>
Tb4b4b4<Tff7b72html Te6edf3classTff7b72=Ta5d6ff"no-js" Te6edf3langTff7b72=Ta5d6ff"en"Tb4b4b4>
Tb4b4b4<Tff7b72headTb4b4b4>Tb4b4b4<Tff7b72meta Te6edf3charsetTff7b72=Ta5d6ff"utf-8"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"viewport" Te6edf3contentTff7b72=Ta5d6ff"width=device-width,initial-scale=1"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"color-scheme" Te6edf3contentTff7b72=Ta5d6ff"light dark"Tb4b4b4>Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"viewport" Te6edf3contentTff7b72=Ta5d6ff"width=device-width, initial-scale=1" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"index" Te6edf3titleTff7b72=Ta5d6ff"Index" Te6edf3hrefTff7b72=Ta5d6ff"genindex.html" Tb4b4b4/Tb4b4b4>Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"search" Te6edf3titleTff7b72=Ta5d6ff"Search" Te6edf3hrefTff7b72=Ta5d6ff"search.html" Tb4b4b4/Tb4b4b4>Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"next" Te6edf3titleTff7b72=Ta5d6ff"Understanding Reticulum" Te6edf3hrefTff7b72=Ta5d6ff"understanding.html" Tb4b4b4/Tb4b4b4>Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"prev" Te6edf3titleTff7b72=Ta5d6ff"Getting Started Fast" Te6edf3hrefTff7b72=Ta5d6ff"gettingstartedfast.html" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"generator" Te6edf3contentTff7b72=Ta5d6ff"sphinx-5.3.0, furo 2022.09.29.dev1"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Using Reticulum on Your System - Reticulum Network Stack 0.8.9 beta documentationTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/pygments.css" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/copybutton.css" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/custom.css" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72styleTb4b4b4>
Tff7b72body Tb4b4b4{
Te6edf3--color-code-backgroundTb4b4b4: T79c0ff#f8f8f8Tb4b4b4;
Te6edf3--color-code-foregroundTb4b4b4: Tff7b72blackTb4b4b4;
Tb4b4b4}
Tb4b4b4@Tff7b72media Tff7b72not Tff7b72print Tb4b4b4{
Tff7b72bodyTff7b72[Tff7b72data-themeTff7b72=Ta5d6ff"dark"Tff7b72] Tb4b4b4{
Te6edf3--color-code-backgroundTb4b4b4: T79c0ff#202020Tb4b4b4;
Te6edf3--color-code-foregroundTb4b4b4: T79c0ff#d0d0d0Tb4b4b4;
Te6edf3--color-background-primaryTb4b4b4: T79c0ff#202b38Tb4b4b4;
Te6edf3--color-background-secondaryTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-foreground-primaryTb4b4b4: T79c0ff#dbdbdbTb4b4b4;
Te6edf3--color-foreground-secondaryTb4b4b4: T79c0ff#a9b1baTb4b4b4;
Te6edf3--color-brand-primaryTb4b4b4: T79c0ff#41adffTb4b4b4;
Te6edf3--color-background-hoverTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-api-nameTb4b4b4: T79c0ff#ffbe85Tb4b4b4;
Te6edf3--color-api-pre-nameTb4b4b4: T79c0ff#efae75Tb4b4b4;
Tb4b4b4}
Tb4b4b4@Tff7b72media Tff7b72(Tff7b72prefers-color-schemeTff7b72: Tff7b72darkTff7b72) Tb4b4b4{
Tff7b72bodyTb4b4b4:Tf0883enotTff7b72(Tff7b72[Tff7b72data-themeTff7b72=Ta5d6ff"light"Tff7b72]Tff7b72) Tb4b4b4{
Te6edf3--color-code-backgroundTb4b4b4: T79c0ff#202020Tb4b4b4;
Te6edf3--color-code-foregroundTb4b4b4: T79c0ff#d0d0d0Tb4b4b4;
Te6edf3--color-background-primaryTb4b4b4: T79c0ff#202b38Tb4b4b4;
Te6edf3--color-background-secondaryTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-foreground-primaryTb4b4b4: T79c0ff#dbdbdbTb4b4b4;
Te6edf3--color-foreground-secondaryTb4b4b4: T79c0ff#a9b1baTb4b4b4;
Te6edf3--color-brand-primaryTb4b4b4: T79c0ff#41adffTb4b4b4;
Te6edf3--color-background-hoverTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-api-nameTb4b4b4: T79c0ff#ffbe85Tb4b4b4;
Te6edf3--color-api-pre-nameTb4b4b4: T79c0ff#efae75Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72headTb4b4b4>
Tb4b4b4<Tff7b72bodyTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3datasetTb4b4b4.Te6edf3theme Tff7b72= Te6edf3localStorageTb4b4b4.Te6edf3getItemTb4b4b4(Ta5d6ff"theme"Tb4b4b4) Tff7b72|| Ta5d6ff"auto"Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3styleTff7b72=Ta5d6ff"display: none;"Tb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-toc" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>ContentsTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3strokeTff7b72=Ta5d6ff"currentColor" Te6edf3fillTff7b72=Ta5d6ff"currentColor" Te6edf3stroke-widthTff7b72=Ta5d6ff"0" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 1024 1024"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-menu" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>MenuTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"2" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"feather-menu"Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"3" Te6edf3y1Tff7b72=Ta5d6ff"12" Te6edf3x2Tff7b72=Ta5d6ff"21" Te6edf3y2Tff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"3" Te6edf3y1Tff7b72=Ta5d6ff"6" Te6edf3x2Tff7b72=Ta5d6ff"21" Te6edf3y2Tff7b72=Ta5d6ff"6"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"3" Te6edf3y1Tff7b72=Ta5d6ff"18" Te6edf3x2Tff7b72=Ta5d6ff"21" Te6edf3y2Tff7b72=Ta5d6ff"18"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-arrow-right" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>ExpandTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"2" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"feather-chevron-right"Tb4b4b4>
Tb4b4b4<Tff7b72polyline Te6edf3pointsTff7b72=Ta5d6ff"9 18 15 12 9 6"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72polylineTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-sun" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Light modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"feather-sun"Tb4b4b4>
Tb4b4b4<Tff7b72circle Te6edf3cxTff7b72=Ta5d6ff"12" Te6edf3cyTff7b72=Ta5d6ff"12" Te6edf3rTff7b72=Ta5d6ff"5"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72circleTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"12" Te6edf3y1Tff7b72=Ta5d6ff"1" Te6edf3x2Tff7b72=Ta5d6ff"12" Te6edf3y2Tff7b72=Ta5d6ff"3"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"12" Te6edf3y1Tff7b72=Ta5d6ff"21" Te6edf3x2Tff7b72=Ta5d6ff"12" Te6edf3y2Tff7b72=Ta5d6ff"23"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"4.22" Te6edf3y1Tff7b72=Ta5d6ff"4.22" Te6edf3x2Tff7b72=Ta5d6ff"5.64" Te6edf3y2Tff7b72=Ta5d6ff"5.64"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"18.36" Te6edf3y1Tff7b72=Ta5d6ff"18.36" Te6edf3x2Tff7b72=Ta5d6ff"19.78" Te6edf3y2Tff7b72=Ta5d6ff"19.78"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"1" Te6edf3y1Tff7b72=Ta5d6ff"12" Te6edf3x2Tff7b72=Ta5d6ff"3" Te6edf3y2Tff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"21" Te6edf3y1Tff7b72=Ta5d6ff"12" Te6edf3x2Tff7b72=Ta5d6ff"23" Te6edf3y2Tff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"4.22" Te6edf3y1Tff7b72=Ta5d6ff"19.78" Te6edf3x2Tff7b72=Ta5d6ff"5.64" Te6edf3y2Tff7b72=Ta5d6ff"18.36"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"18.36" Te6edf3y1Tff7b72=Ta5d6ff"5.64" Te6edf3x2Tff7b72=Ta5d6ff"19.78" Te6edf3y2Tff7b72=Ta5d6ff"4.22"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-moon" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Dark modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"icon-tabler-moon"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3strokeTff7b72=Ta5d6ff"none" Te6edf3dTff7b72=Ta5d6ff"M0 0h24v24H0z" Te6edf3fillTff7b72=Ta5d6ff"none" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-sun-half" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Auto light/dark modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"icon-tabler-shadow"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3strokeTff7b72=Ta5d6ff"none" Te6edf3dTff7b72=Ta5d6ff"M0 0h24v24H0z" Te6edf3fillTff7b72=Ta5d6ff"none"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72circle Te6edf3cxTff7b72=Ta5d6ff"12" Te6edf3cyTff7b72=Ta5d6ff"12" Te6edf3rTff7b72=Ta5d6ff"9" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 12h5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 15h4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 18h1" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 9h4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 6h1" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"sidebar-toggle" Te6edf3nameTff7b72=Ta5d6ff"__navigation" Te6edf3idTff7b72=Ta5d6ff"__navigation"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"sidebar-toggle" Te6edf3nameTff7b72=Ta5d6ff"__toc" Te6edf3idTff7b72=Ta5d6ff"__toc"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"overlay sidebar-overlay" Te6edf3forTff7b72=Ta5d6ff"__navigation"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Hide navigation sidebarTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"overlay toc-overlay" Te6edf3forTff7b72=Ta5d6ff"__toc"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Hide table of contents sidebarTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"page"Tb4b4b4>
Tb4b4b4<Tff7b72header Te6edf3classTff7b72=Ta5d6ff"mobile-header"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"header-left"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"nav-overlay-icon" Te6edf3forTff7b72=Ta5d6ff"__navigation"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Toggle site navigation sidebarTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72i Te6edf3classTff7b72=Ta5d6ff"icon"Tb4b4b4>Tb4b4b4<Tff7b72svgTb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-menu"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72iTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"header-center"Tb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"index.html"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"brand"Tb4b4b4>Reticulum Network Stack 0.8.9 beta documentationTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"header-right"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"theme-toggle-container theme-toggle-header"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"theme-toggle"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Toggle Light / Dark / Auto color themeTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-auto"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun-half"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-dark"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-moon"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-light"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"toc-overlay-icon toc-header-icon" Te6edf3forTff7b72=Ta5d6ff"__toc"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Toggle table of contents sidebarTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72i Te6edf3classTff7b72=Ta5d6ff"icon"Tb4b4b4>Tb4b4b4<Tff7b72svgTb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-toc"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72iTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72headerTb4b4b4>
Tb4b4b4<Tff7b72aside Te6edf3classTff7b72=Ta5d6ff"sidebar-drawer"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-container"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-sticky"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"sidebar-brand centered" Te6edf3hrefTff7b72=Ta5d6ff"index.html"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-logo-container"Tb4b4b4>
Tb4b4b4<Tff7b72img Te6edf3classTff7b72=Ta5d6ff"sidebar-logo" Te6edf3srcTff7b72=Ta5d6ff"_static/rns_logo_512.png" Te6edf3altTff7b72=Ta5d6ff"Logo"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"sidebar-brand-text"Tb4b4b4>Reticulum Network Stack 0.8.9 beta documentationTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72form Te6edf3classTff7b72=Ta5d6ff"sidebar-search-container" Te6edf3methodTff7b72=Ta5d6ff"get" Te6edf3actionTff7b72=Ta5d6ff"search.html" Te6edf3roleTff7b72=Ta5d6ff"search"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3classTff7b72=Ta5d6ff"sidebar-search" Te6edf3placeholderTff7b72=Ta5d6ff"Search" Te6edf3nameTff7b72=Ta5d6ff"q" Te6edf3aria-labelTff7b72=Ta5d6ff"Search"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"hidden" Te6edf3nameTff7b72=Ta5d6ff"check_keywords" Te6edf3valueTff7b72=Ta5d6ff"yes"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"hidden" Te6edf3nameTff7b72=Ta5d6ff"area" Te6edf3valueTff7b72=Ta5d6ff"default"Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72formTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3idTff7b72=Ta5d6ff"searchbox"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-scroll"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-tree"Tb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"current"Tb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"whatis.html"Tb4b4b4>What is Reticulum?Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"gettingstartedfast.html"Tb4b4b4>Getting Started FastTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1 current current-page"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"current reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#"Tb4b4b4>Using Reticulum on Your SystemTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"understanding.html"Tb4b4b4>Understanding ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"hardware.html"Tb4b4b4>Communications HardwareTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"interfaces.html"Tb4b4b4>Configuring InterfacesTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"networks.html"Tb4b4b4>Building NetworksTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"examples.html"Tb4b4b4>Code ExamplesTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"support.html"Tb4b4b4>Support ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"reference.html"Tb4b4b4>API ReferenceTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72asideTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"main"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"content"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"article-container"Tb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"#" Te6edf3classTff7b72=Ta5d6ff"back-to-top muted-link"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pathTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Back to topTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"content-icon-container"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"theme-toggle-container theme-toggle-content"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"theme-toggle"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Toggle Light / Dark / Auto color themeTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-auto"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun-half"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-dark"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-moon"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-light"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"toc-overlay-icon toc-content-icon" Te6edf3forTff7b72=Ta5d6ff"__toc"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"visually-hidden"Tb4b4b4>Toggle table of contents sidebarTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72i Te6edf3classTff7b72=Ta5d6ff"icon"Tb4b4b4>Tb4b4b4<Tff7b72svgTb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-toc"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72iTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72article Te6edf3roleTff7b72=Ta5d6ff"main"Tb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"using-reticulum-on-your-system"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"using-main"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72h1Tb4b4b4>Using Reticulum on Your SystemTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#using-reticulum-on-your-system" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Reticulum is not installed as a driver or kernel module, as one might expect
of a networking stack. Instead, Reticulum is distributed as a Python module,
containing the networking core, and a set of utility and daemon programs.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>This means that no special privileges are required to install or use it. It
is also very light-weight, and easy to transfer to, and install on new systems.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>When you have Reticulum installed, any program or application that uses Reticulum
will automatically load and initialise Reticulum when it starts, if it is not
already running.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>In many cases, this approach is sufficient. When any program needs to use
Reticulum, it is loaded, initialised, interfaces are brought up, and the
program can now communicate over any Reticulum networks available. If another
program starts up and also wants access to the same Reticulum network, the already
running instance is simply shared. This works for any number of programs running
concurrently, and is very easy to use, but depending on your use case, there
are other options.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"configuration-data"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Configuration Te6edf3& DataTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#configuration-data" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Reticulum stores all information that it needs to function in a single file-system
directory. When Reticulum is started, it will look for a valid configuration
directory in the following places:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>/etc/reticulumTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.config/reticulumTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.reticulumTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If no existing configuration directory is found, the directory Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.reticulumTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>
is created, and the default configuration will be automatically created here.
You can move it to one of the other locations if you wish.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>It is also possible to use completely arbitrary configuration directories by
specifying the relevant command-line parameters when running Reticulum-based
programs. You can also run multiple separate Reticulum instances on the same
physical system, either in isolation from each other, or connected together.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>In most cases, a single physical system will only need to run one Reticulum
instance. This can either be launched at boot, as a system service, or simply
be brought up when a program needs it. In either case, any number of programs
running on the same system will automatically share the same Reticulum instance,
if the configuration allows for it, which it does by default.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The entire configuration of Reticulum is found in the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.reticulum/configTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>
file. When Reticulum is first started on a new system, a basic, but fully functional
configuration file is created. The default configuration looks like this:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-default notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># This is the default Reticulum config file.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># You should probably edit it to include any additional,Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># interfaces and settings you might need.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># Only the most basic options are included in this defaultTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># configuration. To see a more verbose, and much longer,Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># configuration example, you can run the command:Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># rnsd --exampleconfigTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>[Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>reticulumTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>]Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># If you enable Transport, your system will route trafficTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># for other peers, pass announces and serve path requests.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># This should only be done for systems that are suited toTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># act as transport nodes, ie. if they are stationary andTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># always-on. This directive is optional and can be removedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># for brevity.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>enable_transportTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"kc"Tb4b4b4>FalseTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># By default, the first program to launch the ReticulumTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># Network Stack will create a shared instance, that otherTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># programs can communicate with. Only the shared instanceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># opens all the configured interfaces directly, and otherTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># local programs communicate with the shared instance overTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># a local socket. This is completely transparent to theTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># user, and should generally be turned on. This directiveTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># is optional and can be removed for brevity.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>share_instanceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>YesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># If you want to run multiple *different* shared instancesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># on the same system, you will need to specify differentTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># shared instance ports for each. The defaults are givenTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># below, and again, these options can be left out if youTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># donTe6edf3't need them.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>shared_instance_portTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"mi"Tb4b4b4>37428Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>instance_control_portTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"mi"Tb4b4b4>37429Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># On systems where running instances may not have accessTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># to the same shared Reticulum configuration directory,Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># it is still possible to allow full interactivity forTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># running instances, by manually specifying a shared RPCTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># key. In almost all cases, this option is not needed, butTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># it can be useful on operating systems such as Android.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># The key must be specified as bytes in hexadecimal.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># rpc_key = e5c032d3ec4e64a6aca9927ba8ab73336780f6d71790Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># You can configure Reticulum to panic and forcibly closeTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># if an unrecoverable interface error occurs, such as theTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># hardware device for an interface disappearing. This isTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># an optional directive, and can be left out for brevity.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># This behaviour is disabled by default.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>panic_on_interface_errorTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>NoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># When Transport is enabled, it is possible to allow theTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># Transport Instance to respond to probe requests fromTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># the rnprobe utility. This can be a useful tool to testTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># connectivity. When this option is enabled, the probeTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># destination will be generated from the Identity of theTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># Transport Instance, and printed to the log at startup.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># Optional, and disabled by default.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>respond_to_probesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>NoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>[Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>loggingTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>]Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># Valid log levels are 0 through 7:Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 0: Log only critical informationTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 1: Log errors and lower log levelsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 2: Log warnings and lower log levelsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 3: Log notices and lower log levelsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 4: Log info and lower (this is the default)Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 5: Verbose loggingTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 6: Debug loggingTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># 7: Extreme loggingTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>loglevelTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"mi"Tb4b4b4>4Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># The interfaces section defines the physical and virtualTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># interfaces Reticulum will use to communicate on. ThisTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># section will contain examples for a variety of interfaceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># types. You can modify these or use them as a basis forTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># your own config, or simply remove the unused ones.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>[Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>interfacesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>]Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># This interface enables communication with otherTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># link-local Reticulum nodes over UDP. It does notTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># need any functional IP infrastructure like routersTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># or DHCP servers, but will require that at least link-Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># local IPv6 is enabled in your operating system, whichTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># should be enabled by default in almost any OS. SeeTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"c1"Tb4b4b4># the Reticulum Manual for more configuration options.Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>[[Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>DefaultTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>InterfaceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"p"Tb4b4b4>]]Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"nb"Tb4b4b4>typeTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>AutoInterfaceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"n"Tb4b4b4>interface_enabledTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"o"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"kc"Tb4b4b4>TrueTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If Reticulum infrastructure already exists locally, you probably don’t need to
change anything, and you may already be connected to a wider network. If not,
you will probably need to add relevant Tb4b4b4<Tff7b72emTb4b4b4>interfacesTb4b4b4<Tb4b4b4/Tff7b72emTb4b4b4> to the configuration, in
order to communicate with other systems.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can generate a much more verbose configuration example by running the command:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>--exampleconfigTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The output includes examples for most interface types supported
by Reticulum, along with additional options and configuration parameters.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>It is a good idea to read the comments and explanations in the above default config.
It will teach you the basic concepts you need to understand to configure your network.
Once you have done that, take a look at the Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"interfaces.html#interfaces-main"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"std std-ref"Tb4b4b4>InterfacesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4> chapter
of this manual.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"included-utility-programs"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Included Utility ProgramsTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#included-utility-programs" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Reticulum includes a range of useful utilities, both for managing your Reticulum
networks, and for carrying out common tasks over Reticulum networks, such as
transferring files to remote systems, and executing commands and programs remotely.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If you often use Reticulum from several different programs, or simply want
Reticulum to stay available all the time, for example if you are hosting
a transport node, you might want to run Reticulum as a separate service that
other programs, applications and services can utilise.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnsd-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnsd UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnsd-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>It is very easy to run Reticulum as a service. Simply run the included Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> command.
When Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> is running, it will keep all configured interfaces open, handle transport if
it is enabled, and allow any other programs to immediately utilise the
Reticulum network it is configured for.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can even run multiple instances of Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> with different configurations on
the same system.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnsd
[2023-08-18 17:59:56] [Notice] Started rnsd version 0.5.8
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> in service mode, ensuring all logging output is sent directly to file:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnsd -s
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Generate a verbose and detailed configuration example, with explanations of all the
various configuration options, and interface configuration examples:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnsd --exampleconfig
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnsd.py [-h] [--config CONFIG] [-v] [-q] [-s] [--exampleconfig] [--version]
Reticulum Network Stack Daemon
options:
-h, --help show this help message and exit
--config CONFIG path to alternative Reticulum config directory
-v, --verbose
-q, --quiet
-s, --service rnsd is running as a service and should log to file
--exampleconfig print verbose configuration example to stdout and exit
--version show programTe6edf3's version number and exit
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can easily add Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> as an always-on service by Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#using-systemd"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"std std-ref"Tb4b4b4>configuring a serviceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnstatus-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnstatus UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnstatus-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Using the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnstatusTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility, you can view the status of configured Reticulum
interfaces, similar to the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>ifconfigTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> program.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnstatusTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnstatus
Shared Instance[37428]
Status : Up
Serving : 1 program
Rate : 1.00 Gbps
Traffic : 83.13 KB↑
86.10 KB↓
AutoInterface[Local]
Status : Up
Mode : Full
Rate : 10.00 Mbps
Peers : 1 reachable
Traffic : 63.23 KB↑
80.17 KB↓
TCPInterface[RNS Testnet Dublin/dublin.connect.reticulum.network:4965]
Status : Up
Mode : Full
Rate : 10.00 Mbps
Traffic : 187.27 KB↑
74.17 KB↓
RNodeInterface[RNode UHF]
Status : Up
Mode : Access Point
Rate : 1.30 kbps
Access : 64-bit IFAC by Te6edf3<…e702c42ba8Te6edf3>
Traffic : 8.49 KB↑
9.23 KB↓
Reticulum Transport Instance Te6edf3<5245a8efe1788c6a1cd36144a270e13bTe6edf3> running
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Filter output to only show some interfaces:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnstatus rnode
RNodeInterface[RNode UHF]
Status : Up
Mode : Access Point
Rate : 1.30 kbps
Access : 64-bit IFAC by Te6edf3<…e702c42ba8Te6edf3>
Traffic : 8.49 KB↑
9.23 KB↓
Reticulum Transport Instance Te6edf3<5245a8efe1788c6a1cd36144a270e13bTe6edf3> running
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnstatus [-h] [--config CONFIG] [--version] [-a] [-A]
[-l] [-s SORT] [-r] [-j] [-R hash] [-i path]
[-w seconds] [-v] [filter]
Reticulum Network Stack Status
positional arguments:
filter only display interfaces with names including filter
options:
-h, --help show this help message and exit
--config CONFIG path to alternative Reticulum config directory
--version show programTe6edf3's version number and exit
-a, --all show all interfaces
-A, --announce-stats show announce stats
-l, --link-stats show link stats
-s SORT, --sort SORT sort interfaces by [rate, traffic, rx, tx, announces, arx, atx, held]
-r, --reverse reverse sorting
-j, --json output in JSON format
-R hash transport identity hash of remote instance to get status from
-i path path to identity used for remote management
-w seconds timeout before giving up on remote queries
-v, --verbose
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnid-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnid UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnid-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>With the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnidTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility, you can generate, manage and view Reticulum Identities.
The program can also calculate Destination hashes, and perform encryption and
decryption of files.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Using Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnidTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>, it is possible to asymmetrically encrypt files and information for
any Reticulum destination hash, and also to create and verify cryptographic signatures.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Generate a new Identity:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnid -g ./new_identity
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Display Identity key information:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnid -i ./new_identity -p
Loaded Identity Te6edf3<984b74a3f768bef236af4371e6f248cdTe6edf3> from new_id
Public Key : 0f4259fef4521ab75a3409e353fe9073eb10783b4912a6a9937c57bf44a62c1e
Private Key : Hidden
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Encrypt a file for an LXMF user:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnid -i 8dd57a738226809646089335a6b03695 -e my_file.txt
Recalled Identity Te6edf3<bc7291552be7a58f361522990465165cTe6edf3> for destination Te6edf3<8dd57a738226809646089335a6b03695Te6edf3>
Encrypting my_file.txt
File my_file.txt encrypted for Te6edf3<bc7291552be7a58f361522990465165cTe6edf3> to my_file.txt.rfe
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If the Identity for the destination is not already known, you can fetch it from the network by using the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>-RTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> command-line option:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnid -R -i 30602def3b3506a28ed33db6f60cc6c9 -e my_file.txt
Requesting unknown Identity for Te6edf3<30602def3b3506a28ed33db6f60cc6c9Te6edf3>...
Received Identity Te6edf3<2b489d06eaf7c543808c76a5332a447dTe6edf3> for destination Te6edf3<30602def3b3506a28ed33db6f60cc6c9Te6edf3> from the network
Encrypting my_file.txt
File my_file.txt encrypted for Te6edf3<2b489d06eaf7c543808c76a5332a447dTe6edf3> to my_file.txt.rfe
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Decrypt a file using the Reticulum Identity it was encrypted for:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnid -i ./my_identity -d my_file.txt.rfe
Loaded Identity Te6edf3<2225fdeecaf6e2db4556c3c2d7637294Te6edf3> from ./my_identity
Decrypting ./my_file.txt.rfe...
File ./my_file.txt.rfe decrypted with Te6edf3<2225fdeecaf6e2db4556c3c2d7637294Te6edf3> to ./my_file.txt
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnid.py [-h] [--config path] [-i identity] [-g path] [-v] [-q] [-a aspects]
[-H aspects] [-e path] [-d path] [-s path] [-V path] [-r path] [-w path]
[-f] [-R] [-t seconds] [-p] [-P] [--version]
Reticulum Identity Te6edf3& Encryption Utility
options:
-h, --help show this help message and exit
--config path path to alternative Reticulum config directory
-i identity, --identity identity
hexadecimal Reticulum Destination hash or path to Identity file
-g path, --generate path
generate a new Identity
-v, --verbose increase verbosity
-q, --quiet decrease verbosity
-a aspects, --announce aspects
announce a destination based on this Identity
-H aspects, --hash aspects
show destination hashes for other aspects for this Identity
-e path, --encrypt path
encrypt file
-d path, --decrypt path
decrypt file
-s path, --sign path sign file
-V path, --validate path
validate signature
-r path, --read path input file path
-w path, --write path
output file path
-f, --force write output even if it overwrites existing files
-R, --request request unknown Identities from the network
-t seconds identity request timeout before giving up
-p, --print-identity print identity info and exit
-P, --print-private allow displaying private keys
--version show programTe6edf3's version number and exit
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnpath-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnpath UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnpath-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>With the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnpathTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility, you can look up and view paths for
destinations on the Reticulum network.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Resolve path to a destination:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnpath c89b4da064bf66d280f0e4d8abfd9806
Path found, destination Te6edf3<c89b4da064bf66d280f0e4d8abfd9806Te6edf3> is 4 hops away via Te6edf3<f53a1c4278e0726bb73fcc623d6ce763Te6edf3> on TCPInterface[Testnet/dublin.connect.reticulum.network:4965]
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnpath [-h] [--config CONFIG] [--version] [-t] [-m hops]
[-r] [-d] [-D] [-x] [-w seconds] [-R hash] [-i path]
[-W seconds] [-j] [-v] [destination]
Reticulum Path Discovery Utility
positional arguments:
destination hexadecimal hash of the destination
options:
-h, --help show this help message and exit
--config CONFIG path to alternative Reticulum config directory
--version show programTe6edf3's version number and exit
-t, --table show all known paths
-m hops, --max hops maximum hops to filter path table by
-r, --rates show announce rate info
-d, --drop remove the path to a destination
-D, --drop-announces drop all queued announces
-x, --drop-via drop all paths via specified transport instance
-w seconds timeout before giving up
-R hash transport identity hash of remote instance to manage
-i path path to identity used for remote management
-W seconds timeout before giving up on remote queries
-j, --json output in JSON format
-v, --verbose
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnprobe-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnprobe UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnprobe-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnprobeTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility lets you probe a destination for connectivity, similar
to the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>pingTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> program. Please note that probes will only be answered if the
specified destination is configured to send proofs for received packets. Many
destinations will not have this option enabled, so most destinations will not
be probable.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can enable a probe-reply destination on Reticulum Transport Instances by
setting the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>respond_to_probesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> configuration directive. Reticulum will then
print the probe destination to the log on Transport Instance startup.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Probe a destination:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnprobe rnstransport.probe 2d03725b327348980d570f739a3a5708
Sent 16 byte probe to Te6edf3<2d03725b327348980d570f739a3a5708Te6edf3>
Valid reply received from Te6edf3<2d03725b327348980d570f739a3a5708Te6edf3>
Round-trip time is 38.469 milliseconds over 2 hops
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Send a larger probe:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnprobe rnstransport.probe 2d03725b327348980d570f739a3a5708 -s 256
Sent 16 byte probe to Te6edf3<2d03725b327348980d570f739a3a5708Te6edf3>
Valid reply received from Te6edf3<2d03725b327348980d570f739a3a5708Te6edf3>
Round-trip time is 38.781 milliseconds over 2 hops
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If the interface that receives the probe replies supports reporting radio
parameters such as Tb4b4b4<Tff7b72strongTb4b4b4>RSSITb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> and Tb4b4b4<Tff7b72strongTb4b4b4>SNRTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>, the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnprobeTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility will print
these as part of the result as well.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnprobe rnstransport.probe e7536ee90bd4a440e130490b87a25124
Sent 16 byte probe to Te6edf3<e7536ee90bd4a440e130490b87a25124Te6edf3>
Valid reply received from Te6edf3<e7536ee90bd4a440e130490b87a25124Te6edf3>
Round-trip time is 1.809 seconds over 1 hop [RSSI -73 dBm] [SNR 12.0 dB]
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnprobe [-h] [--config CONFIG] [-s SIZE] [-n PROBES]
[-t seconds] [-w seconds] [--version] [-v]
[full_name] [destination_hash]
Reticulum Probe Utility
positional arguments:
full_name full destination name in dotted notation
destination_hash hexadecimal hash of the destination
options:
-h, --help show this help message and exit
--config CONFIG path to alternative Reticulum config directory
-s SIZE, --size SIZE size of probe packet payload in bytes
-n PROBES, --probes PROBES
number of probes to send
-t seconds, --timeout seconds
timeout before giving up
-w seconds, --wait seconds
time between each probe
--version show programTe6edf3's version number and exit
-v, --verbose
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rncp-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rncp UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rncp-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rncpTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility is a simple file transfer tool. Using it, you can transfer
files through Reticulum.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Run rncp on the receiving system, specifying which identities are allowed to send files:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rncp --listen -a 1726dbad538775b5bf9b0ea25a4079c8 -a c50cc4e4f7838b6c31f60ab9032cbc62
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can also specify allowed identity hashes (one per line) in the file ~/.rncp/allowed_identities
and simply running the program in listener mode:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rncp --listen
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>From another system, copy a file to the receiving system:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rncp ~/path/to/file.tgz 73cbd378bb0286ed11a707c13447bb1e
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Or fetch a file from the remote system:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rncp --fetch ~/path/to/file.tgz 73cbd378bb0286ed11a707c13447bb1e
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rncp [-h] [--config path] [-v] [-q] [-S] [-l] [-F] [-f]
[-j path] [-b seconds] [-a allowed_hash] [-n] [-p]
[-w seconds] [--version] [file] [destination]
Reticulum File Transfer Utility
positional arguments:
file file to be transferred
destination hexadecimal hash of the receiver
options:
-h, --help show this help message and exit
--config path path to alternative Reticulum config directory
-v, --verbose increase verbosity
-q, --quiet decrease verbosity
-S, --silent disable transfer progress output
-l, --listen listen for incoming transfer requests
-F, --allow-fetch allow authenticated clients to fetch files
-f, --fetch fetch file from remote listener instead of sending
-j path, --jail path restrict fetch requests to specified path
-b seconds announce interval, 0 to only announce at startup
-a allowed_hash allow this identity
-n, --no-auth accept requests from anyone
-p, --print-identity print identity and destination info and exit
-w seconds sender timeout before giving up
--version show programTe6edf3's version number and exit
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnx-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnx UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnx-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnxTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility is a basic remote command execution program. It allows you to
execute commands on remote systems over Reticulum, and to view returned command
output. For a fully interactive remote shell solution, be sure to also take a look
at the Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference external" Te6edf3hrefTff7b72=Ta5d6ff"https://github.com/acehoss/rnsh"Tb4b4b4>rnshTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4> program.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Run rnx on the listening system, specifying which identities are allowed to execute commands:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnx --listen -a 941bed5e228775e5a8079fc38b1ccf3f -a 1b03013c25f1c2ca068a4f080b844a10
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>From another system, run a command on the remote:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnx 7a55144adf826958a9529a3bcf08b149 Te6edf3"cat /proc/cpuinfoTe6edf3"
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Or enter the interactive mode pseudo-shell:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnx 7a55144adf826958a9529a3bcf08b149 -x
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The default identity file is stored in Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.reticulum/identities/rnxTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>, but you can use
another one, which will be created if it does not already existTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rnx 7a55144adf826958a9529a3bcf08b149 -i /path/to/identity -x
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnx [-h] [--config path] [-v] [-q] [-p] [-l] [-i identity] [-x] [-b] [-n] [-N]
[-d] [-m] [-a allowed_hash] [-w seconds] [-W seconds] [--stdin STDIN]
[--stdout STDOUT] [--stderr STDERR] [--version] [destination] [command]
Reticulum Remote Execution Utility
positional arguments:
destination hexadecimal hash of the listener
command command to be execute
optional arguments:
-h, --help show this help message and exit
--config path path to alternative Reticulum config directory
-v, --verbose increase verbosity
-q, --quiet decrease verbosity
-p, --print-identity print identity and destination info and exit
-l, --listen listen for incoming commands
-i identity path to identity to use
-x, --interactive enter interactive mode
-b, --no-announce donTe6edf3't announce at program start
-a allowed_hash accept from this identity
-n, --noauth accept files from anyone
-N, --noid donTe6edf3't identify to listener
-d, --detailed show detailed result output
-m mirror exit code of remote command
-w seconds connect and request timeout before giving up
-W seconds max result download time
--stdin STDIN pass input to stdin
--stdout STDOUT max size in bytes of returned stdout
--stderr STDERR max size in bytes of returned stderr
--version show programTe6edf3's version number and exit
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rnodeconf-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>The rnodeconf UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnodeconf-utility" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnodeconfTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility allows you to inspect and configure existing Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"hardware.html#rnode-main"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"std std-ref"Tb4b4b4>RNodesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>, and
to create and provision new Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"hardware.html#rnode-main"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"std std-ref"Tb4b4b4>RNodesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4> from any supported hardware devices.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line OptionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rnodeconf [-h] [-i] [-a] [-u] [-U] [--fw-version version]
[--fw-url url] [--nocheck] [-e] [-E] [-C]
[--baud-flash baud_flash] [-N] [-T] [-b] [-B] [-p] [-D i]
[--display-addr byte] [--freq Hz] [--bw Hz] [--txp dBm]
[--sf factor] [--cr rate] [--eeprom-backup] [--eeprom-dump]
[--eeprom-wipe] [-P] [--trust-key hexbytes] [--version] [-f]
[-r] [-k] [-S] [-H FIRMWARE_HASH] [--platform platform]
[--product product] [--model model] [--hwrev revision]
[port]
RNode Configuration and firmware utility. This program allows you to change
various settings and startup modes of RNode. It can also install, flash and
update the firmware on supported devices.
positional arguments:
port serial port where RNode is attached
options:
-h, --help show this help message and exit
-i, --info Show device info
-a, --autoinstall Automatic installation on various supported devices
-u, --update Update firmware to the latest version
-U, --force-update Update to specified firmware even if version matches
or is older than installed version
--fw-version version Use a specific firmware version for update or
autoinstall
--fw-url url Use an alternate firmware download URL
--nocheck DonTe6edf3't check for firmware updates online
-e, --extract Extract firmware from connected RNode for later use
-E, --use-extracted Use the extracted firmware for autoinstallation or
update
-C, --clear-cache Clear locally cached firmware files
--baud-flash baud_flash
Set specific baud rate when flashing device. Default
is 921600
-N, --normal Switch device to normal mode
-T, --tnc Switch device to TNC mode
-b, --bluetooth-on Turn device bluetooth on
-B, --bluetooth-off Turn device bluetooth off
-p, --bluetooth-pair Put device into bluetooth pairing mode
-D i, --display i Set display intensity (0-255)
--display-addr byte Set display address as hex byte (00 - FF)
--freq Hz Frequency in Hz for TNC mode
--bw Hz Bandwidth in Hz for TNC mode
--txp dBm TX power in dBm for TNC mode
--sf factor Spreading factor for TNC mode (7 - 12)
--cr rate Coding rate for TNC mode (5 - 8)
--eeprom-backup Backup EEPROM to file
--eeprom-dump Dump EEPROM to console
--eeprom-wipe Unlock and wipe EEPROM
-P, --public Display public part of signing key
--trust-key hexbytes Public key to trust for device verification
--version Print program version and exit
-f, --flash Flash firmware and bootstrap EEPROM
-r, --rom Bootstrap EEPROM without flashing firmware
-k, --key Generate a new signing key and exit
-S, --sign Display public part of signing key
-H FIRMWARE_HASH, --firmware-hash FIRMWARE_HASH
Display installed firmware hash
--platform platform Platform specification for device bootstrap
--product product Product specification for device bootstrap
--model model Model code for device bootstrap
--hwrev revision Hardware revision for device bootstrap
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>For more information on how to create your own RNodes, please read the Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"hardware.html#rnode-creating"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"std std-ref"Tb4b4b4>Creating RNodesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
section of this manual.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"remote-management"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Remote ManagementTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#remote-management" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>It is possible to allow remote management of Reticulum
systems using the various built-in utilities, such as
Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnstatusTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> and Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnpathTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>. To do so, you will need to set
the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>enable_remote_managementTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> directive in the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>[reticulum]Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>
section of the configuration file. You will also need to specify
one or more Reticulum Identity hashes for authenticating the
queries from client programs. For this purpose, you can use
existing identity files, or generate new ones with the rnid utility.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The following is a truncated example of enabling remote management
in the Reticulum configuration file:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[reticulum]
...
enable_remote_management = yes
remote_management_allowed = 9fb6d773498fb3feda407ed8ef2c3229, 2d882c5586e548d79b5af27bca1776dc
...
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>For a complete example configuration, you can run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>--exampleconfigTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"improving-system-configuration"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Improving System ConfigurationTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#improving-system-configuration" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If you are setting up a system for permanent use with Reticulum, there is a
few system configuration changes that can make this easier to administrate.
These changes will be detailed here.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"fixed-serial-port-names"Tb4b4b4>
Tb4b4b4<Tff7b72h3Tb4b4b4>Fixed Serial Port NamesTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#fixed-serial-port-names" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>On a Reticulum instance with several serial port based interfaces, it can be
beneficial to use the fixed device names for the serial ports, instead
of the dynamically allocated shorthands such as Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>/dev/ttyUSB0Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>. Under most
Debian-based distributions, including Ubuntu and Raspberry Pi OS, these nodes
can be found under Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>/dev/serial/by-idTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can use such a device path directly in place of the numbered shorthands.
Here is an example of a packet radio TNC configured as such:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[[Packet Radio KISS Interface]]
type = KISSInterface
interface_enabled = True
outgoing = true
port = /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_43891CKM-if00-port0
speed = 115200
databits = 8
parity = none
stopbits = 1
preamble = 150
txtail = 10
persistence = 200
slottime = 20
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Using this methodology avoids potential naming mix-ups where physical devices
might be plugged and unplugged in different orders, or when device name
assignment varies from one boot to another.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"reticulum-as-a-system-service"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"using-systemd"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72h3Tb4b4b4>Reticulum as a System ServiceTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#reticulum-as-a-system-service" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Instead of starting Reticulum manually, you can install Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> as a system
service and have it start automatically at boot.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"systemwide-service"Tb4b4b4>
Tb4b4b4<Tff7b72h4Tb4b4b4>Systemwide ServiceTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#systemwide-service" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h4Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If you installed Reticulum with Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>pipTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>, the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> program will most likely
be located in a user-local installation path only, which means Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>systemdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> will not
be able to execute it. In this case, you can simply symlink the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> program
into a directory that is in systemd’s path:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>sudo ln -s $(which rnsd) /usr/local/bin/
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can then create the service file Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>/etc/systemd/system/rnsd.serviceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> with the
following content:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[Unit]
Description=Reticulum Network Stack Daemon
After=multi-user.target
[Service]
Type=simple
Restart=always
RestartSec=3
User=USERNAMEHERE
ExecStart=rnsd --service
[Install]
WantedBy=multi-user.target
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Be sure to replace Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>USERNAMEHERETb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> with the user you want to run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> as.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To manually start Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> run:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>sudo systemctl start rnsd
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If you want to automatically start Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> at boot, run:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>sudo systemctl enable rnsd
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"userspace-service"Tb4b4b4>
Tb4b4b4<Tff7b72h4Tb4b4b4>Userspace ServiceTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#userspace-service" Te6edf3titleTff7b72=Ta5d6ff"Permalink to this heading"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h4Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Alternatively you can use a user systemd service instead of a system wide one. This way the whole setup can be done as a regular user.
Create a user systemd service files Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.config/systemd/user/rnsd.serviceTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> with the following content:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[Unit]
Description=Reticulum Network Stack Daemon
After=default.target
[Service]
Type=simple
Restart=always
RestartSec=3
ExecStart=RNS_BIN_DIR/rnsd --service
[Install]
WantedBy=default.target
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Replace Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>RNS_BIN_DIRTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> with the path to your Reticulum binary directory (eg. /home/USERNAMEHERE/rns/bin).Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Start user service:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>systemctl --user daemon-reload
systemctl --user start rnsd.service
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If you want to automatically start Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rnsdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> without having to log in as the USERNAMEHERE, do:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>sudo loginctl enable-linger USERNAMEHERE
systemctl --user enable rnsd.service
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72articleTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72footerTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"related-pages"Tb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"next-page" Te6edf3hrefTff7b72=Ta5d6ff"understanding.html"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"page-info"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"context"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>NextTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"title"Tb4b4b4>Understanding ReticulumTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"furo-related-icon"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-arrow-right"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"prev-page" Te6edf3hrefTff7b72=Ta5d6ff"gettingstartedfast.html"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"furo-related-icon"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-arrow-right"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"page-info"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"context"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>PreviousTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"title"Tb4b4b4>Getting Started FastTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"bottom-of-page"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"left-details"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"copyright"Tb4b4b4>
Copyright Te6edf3© 2023, Mark Qvist
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Generated with Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"https://www.sphinx-doc.org/"Tb4b4b4>SphinxTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4> and
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"https://github.com/pradyunsg/furo"Tb4b4b4>FuroTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"right-details"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"icons"Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72footerTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72aside Te6edf3classTff7b72=Ta5d6ff"toc-drawer"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-sticky toc-scroll"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-title-container"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"toc-title"Tb4b4b4>
On this page
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-tree-container"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-tree"Tb4b4b4>
Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#"Tb4b4b4>Using Reticulum on Your SystemTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#configuration-data"Tb4b4b4>Configuration Te6edf3& DataTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#included-utility-programs"Tb4b4b4>Included Utility ProgramsTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnsd-utility"Tb4b4b4>The rnsd UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnstatus-utility"Tb4b4b4>The rnstatus UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnid-utility"Tb4b4b4>The rnid UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnpath-utility"Tb4b4b4>The rnpath UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnprobe-utility"Tb4b4b4>The rnprobe UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rncp-utility"Tb4b4b4>The rncp UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnx-utility"Tb4b4b4>The rnx UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rnodeconf-utility"Tb4b4b4>The rnodeconf UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#remote-management"Tb4b4b4>Remote ManagementTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#improving-system-configuration"Tb4b4b4>Improving System ConfigurationTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#fixed-serial-port-names"Tb4b4b4>Fixed Serial Port NamesTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#reticulum-as-a-system-service"Tb4b4b4>Reticulum as a System ServiceTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#systemwide-service"Tb4b4b4>Systemwide ServiceTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#userspace-service"Tb4b4b4>Userspace ServiceTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72asideTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>Tb4b4b4<Tff7b72script Te6edf3data-url_rootTff7b72=Ta5d6ff"./" Te6edf3idTff7b72=Ta5d6ff"documentation_options" Te6edf3srcTff7b72=Ta5d6ff"_static/documentation_options.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/jquery.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/underscore.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/_sphinx_javascript_frameworks_compat.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/doctools.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/sphinx_highlight.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/scripts/furo.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/clipboard.min.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/copybutton.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72bodyTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72htmlTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────